package com.zhu.day.obs;


/**
 * EventBus是Google.Guava提供的消息发布-订阅类库，它实现了观察者设计模式，
 * 消息通知负责人通过EventBus去注册/注销观察者，最后由消息通知负责人给观察者发布消息。
 */
public class Test {

    public static void main(String[] args) throws InterruptedException {

//        DataObserver1 observer1 = new DataObserver1();
//        DataObserver2 observer2 = new DataObserver2();
        DataObserver3 observer3 = new DataObserver3();
//        EventBusCenter.register(observer1);
//        EventBusCenter.register(observer2);
        EventBusCenter.register(observer3);

        System.out.println("============   start  ====================");

        // 只有注册的参数类型为String的方法会被调用
        Object a = false;
        EventBusCenter.post("post string method");
        EventBusCenter.post(123);
        EventBusCenter.post(a);

//        System.out.println("============ after unregister ============");
        // 注销observer2
//        EventBusCenter.unregister(observer2);
//        EventBusCenter.post("post string method");
//        EventBusCenter.post(123);

        System.out.println("============    end           =============");
    }

}
